Communications networks are widely used for nationwide and worldwide communication of voice, multimedia and/or data. As used herein, communications networks include public communications networks, such as the Public-Switched Telephone Network (PSTN), terrestrial and/or satellite cellular networks, and/or the Internet.
Current network technology may provide communication services using packet technology. Packetization is the breaking-up of a data file and/or continuous stream of data into discrete segments. As such, a packet may include a relatively small portion of the data, which may be transmitted as a single unit from a source node on a network to a destination node on the network. The packet may include the data as well as addressing, routing, and/or reliability information in the form of headers and/or trailers to enable the network's communication protocols to deliver the data within the packet to the intended recipient, and to ensure that the data arrives intact and/or without corruption. Breaking communications into packets may also allow the same data path to be shared among many users in the network. Such use, however, may result in network congestion and resultant delays in receipt of communications. For example, network traffic may fill input queues in destination systems faster than processing mechanisms can distribute the content, which may thereby cause a bottleneck in the communication process.
It is known to utilize various methods of traffic management in an attempt to alleviate bottlenecks of this kind. For example, multiple transmit queues may be made available in order to provide enhanced quality of service (“QoS”) based on the preferential treatment of some packets over others. More particularly, queues of varying priority levels (e.g., one queue per priority level) may be provided into which packets may be stored while awaiting transmission on a network. For example, voice and/or video traffic may be sensitive to network delays, and as such, may be assigned to a higher priority queue than other data. Many network communication protocols, such as the Internet Protocol (IP), may provide the capability to specify a priority for a packet as a part of an IP header. Providing queues of varying priority levels may enable the network adapter to transmit higher priority packets before lower priority packets, even though the higher priority packets may have been queued subsequent to the lower priority packets.